package io.renren.modules.knowledge.entity.node;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.renren.modules.knowledge.entity.base.BaseNode;
import org.neo4j.ogm.annotation.GraphId;
import org.neo4j.ogm.annotation.Relationship;

import java.util.List;
import java.util.Set;

@JsonIgnoreProperties(value={"upKnowledge","upOutknowledge"})
public class knowledge  {
    @GraphId
    public Long id;

    private String name; //名称


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return super.toString();
    }



    @Relationship(type="progressively",direction = Relationship.OUTGOING)
    private List<knowledge> downKnowledge;
    @Relationship(type="progressively",direction = Relationship.INCOMING)
    private List<knowledge> upKnowledge;
    @Relationship(type="outProgressively",direction = Relationship.OUTGOING)
    private List<knowledge> downOutknowledge;
    @Relationship(type="outProgressively",direction = Relationship.INCOMING)
    private List<knowledge> upOutknowledge;
    @Relationship(type="learn")
    private Set<material> material;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public List<knowledge> getUpKnowledge() {
        return upKnowledge;
    }

    public void setUpKnowledge(List<knowledge> upKnowledge) {
        this.upKnowledge = upKnowledge;
    }

    public List<knowledge> getDownKnowledge() {
        return downKnowledge;
    }

    public void setDownKnowledge(List<knowledge> downKnowledge) {
        this.downKnowledge = downKnowledge;
    }

    public List<knowledge> getUpOutknowledge() {
        return upOutknowledge;
    }

    public void setUpOutknowledge(List<knowledge> upOutknowledge) {
        this.upOutknowledge = upOutknowledge;
    }

    public List<knowledge> getDownOutknowledge() {
        return downOutknowledge;
    }

    public void setDownOutknowledge(List<knowledge> downOutknowledge) {
        this.downOutknowledge = downOutknowledge;
    }

    public Set<io.renren.modules.knowledge.entity.node.material> getMaterial() {
        return material;
    }

    public void setMaterial(Set<io.renren.modules.knowledge.entity.node.material> material) {
        this.material = material;
    }
}
